The Android operating system (“Android OS”) relies on a rich inter-application messaging system called “Intents” for communication between applications. The messaging system promotes collaboration between applications by allowing applications to leverage existing data or services from each other. For example, a restaurant directory application can ask one application to launch the a restaurant website, another application to call a restaurant, another application to display directions to a restaurant, and so on.
The Intents based messaging system can, however, be vulnerable to attack. Messages being passed via Intents can be sniffed, stolen or modified by malicious applications, which can lead to loss of user privacy and data breach. One way in which the security of applications running on the Android OS can be maintained is by creating a sandbox or a container, where an application can run securely without any data leaks. However, for applications that generally handle transfer of a limited number of files or pieces of data, the sandbox solution is excessively broad, heavy-handed and more complex than necessary.